Technical Field
The described embodiments pertain in general to data networks, and in particular to determining whether there is a load balanced and redundant environment in a storage area network.
Description of the Related Art
A storage area network (SAN) is a data network that includes, for example, multiple servers and storage devices connected via multiple fabrics. The servers access the storage devices for storing and retrieving block level data. Typically a storage area network is deployed as two isolated fabrics of interconnected switches and components. These two fabrics are usually completely separate from each other, with no interconnections between them so that no failure on one fabric can affect the other, redundant fabric. Each storage device is attached with half of its connections (storage ports) to the first fabric, and the other half of its connections to the second fabric. Each server is likewise attached with at least one connection (host bus adapter (HBA)) to each fabric. When a block device is presented from a storage device to a server it is generally made available via multiple storage ports, through the redundant fabrics to multiple HBAs on the server (i.e., made available through multiple paths). One reason for using multiple paths is for redundancy. If one path becomes unavailable, for example, due to a component failure, other paths can continue the exchange of data. Another reason for using multiple paths is that it allows for more data to be exchanged between the devices.
In order for the paths to provide the desired redundancy, they have to be functional. An active/passive model where all of the traffic uses a single path until that path fails and then another path is brought online leaves open the risk that when the first path fails, the second path is not available to come online. Similarly, if there is not an equal amount of traffic between paths (i.e., the paths are imbalanced), then that could be because the same set of storage devices (targets, logical unit numbers) are not available on both paths. This would mean that if one path failed, some devices would not be available on the redundant path, resulting in a failure. Additionally, not balancing the workload puts more workload on a single path and this can lead to data exchange slowdowns for the host making the request, or any host communicating through the overworked components. Therefore, identifying and remediating load imbalances is important to maintaining an effective and efficient SAN.